package me.wpf.DesignMode.singleton;

/**
 * Description:懒汉式、静态内部类实现
 *
 * @author 王朋飞
 * @create 2019/5/5
 */
public class Singleton2 {

    private Singleton2() {
    }

    public static Singleton2 getInstance() {
        return Singleton2Holder.instance;
    }
    /**
     *这种方式同样利用了 classloader 机制来保证初始化 instance 时只有一个线程，只有通过显式调用 getInstance 方法时，
     * 才会显式装载 SingletonHolder 类，从而实例化 instance
     */
    private static class Singleton2Holder {
        private static Singleton2 instance = new Singleton2();
    }
}
